1. Field of the Invention
The present invention relates to an image processing apparatus and more particularly, to an apparatus for processing a video stream.
2. Description of the Related Art
Over the course of the past several decades, multiple video protocols or video coding standards for processing motion pictures, (e.g., MPEG-1, MPEG-2, MPEG-4, H.263, etc.) have been developed. Data compression/decompression techniques associated with one or more of these video coding standards have brought about some extraordinary developments in the design and use of VCD, DVD, digital TV, etc. As video capabilities have migrated into portable electronic devices such as cellular phones, for example, such devices have been forced to incorporate enabling circuitry, such as digital video coders and/or decoders (hereafter, singularly or collective referred to as “CODEC”). CODECs are indispensable to the processing of digital data signals such as the type commonly produced by the compression/decompression techniques of conventional video coding standards. Such digital data signals are required to effectively store/retrieve, display, and communicate video content.
Video content (i.e., moving pictures) is formed by a rapid succession of images, where each displayed image is formed from a plurality of video data slices. Each video data slice includes a plurality of macro data blocks, where each macro data block includes a plurality of pixels. Each slice within an image commonly includes a slice header that includes corresponding reference information.
The vast quantity of pixel data forming multiple macro data blocks which in turn form multiple slices of an image in the stream of images forming video content must necessarily be compressed (using a given video coding standard) prior to being stored in order to effectively utilize a predetermined memory space. When read from memory, a syntax accelerator analyzes the resulting video data bit stream. The analyzed bit-stream data is then processed through hardware modules such as an entropy decoder, an inverse transformer, a predictor, and a de-blocking filter, before being displayed as an image.
Bit-stream data read from the memory by the syntax accelerator contains slice data and corresponding header information. Such information includes certain physical disposition or environment information. For example, the H.264 video coding standard provides for certain environments information that includes a multiplicity of sequence and image parameter sets. The sequence parameter set may contain parameters for completing an image sequence, (e.g., identification information, a maximum number of video data frames, a sequence order of images, width and height definition for the decoded images, etc.). The picture parameter set may contain identification information, a selected sequence parameter set identification, a flag for selecting an entropy coding mode from Context Adaptive Variable Length Coding (CAVLC) and Context-based Adaptive Binary Arithmetic Coding (CABAC), and parameters defining slice groups, and parameters for prediction, quantization, and de-blocking.
Such “collateral data” is typically compressed along with “payload image data” (i.e., video pixel data that corresponds to actual image being communicated and displayed). Thus, in order to provide efficient encoding/decoding of the payload image data, it is necessary to rapidly and accurately encode/decode the corresponding stream of collateral data.
Unfortunately, as portable electronic devices, such as Personal Data Assistants (PDAs), mobile phones, and notebook computers, become smaller and lighter, it becomes increasingly difficult for such devices to incorporate multiple CODECs suitable (or optimized) for multiple video coding standards.